<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>计算属性computed</title>
  </head>
  <body>
    <div id="app">
      <h1>{{firstName}} {{lastName}}</h1>
      <h1>{{firstName +" "+lastName}}</h1>
      <!-- {{}} 里面也可以调用方法，需要加() -->
      <h1>{{getFullname()}}</h1>
      <!-- {{}} 里面一般用的是变量名，方法有个() 可能有点别扭，这时候就能使用计算属性 -->
      <!-- ！！计算属性不用加括号 -->
      <h1>{{fullname}}</h1>
    </div>
    <!-- 开发环境版本，包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script>
      const app = new Vue({
        el: "#app",
        data: {
          firstName: "kobe",
          lastName: "Bryant",
        },
        computed: {
          // computed里面定义的也是函数，但是函数名一般不加类似于get的动词
          //  但是它叫计算属性，所以一般起类似于属性的名字

          fullname: function () {
            // 这样写其实也是一个语法糖 里面有setter和getter 这个是getter
            return this.firstName + "  " + this.lastName;
          },
        },
        methods: {
          getFullname: function () {
            return this.firstName + "  " + this.lastName;
          },
        },
      });
    </script>
  </body>
</html>
